package tg.model;

import java.sql.Timestamp;

/**
 * 下注注单
 *   结算报表时统计要用的字段之外，其他很多字段都是可以合成json数组的，或许都可以，要测试存储过程
 * @author NKW
 *	记录下注时的所有相信信息，供中奖时计算各级的输赢结果，供出问题时查找关联信息
 *  最大原则：下注时已经所有记录都记了，所以在结算时，最好只要更新一个赔率数据，其他在数据库里计算，结算更新到数据库的内容要最少，这样才会快
 *  到时更新七级的中奖赔率就好，自己去算各级的水差，倍差等
 */
public class GameBet {
	private int id;//注单号,自增
	private String batch;//批次号
	private String lsh;//用户流水号
	private String uid;//用户账号
	private int user_level;//用户级别
	private String period;//期数
	private String gid;//游戏id
	private String round_id;//场次
	private String gp_id;//玩法id
	private String mahao;//码号
	private double bet_score;//下注分
	private double shishou;//实收分数,本金时才这样
	private double yx_score;//有效下注分（有些中和的不算在内）
	private Timestamp bet_time;//下注时间
	private Timestamp count_time;//结算时间
	private double bet_before_credit;//下注前余额
	private double count_after_credit;//结算后余额
	private int bet_type;//下注类型：1.会员，2.手动飞单.3.自动飞单
	private String dish;//盘口

	private int del_flag;//删除状态，0未删除，1已经删除，删除标志要独立出来
	private int status;//0 取消	1 未结算 	2 结算	3 重新结算	4 已经结算但是无效下注（百家开合的情况）
	private String ip;//下注ip

	private int winflag; //中奖标志 0 未统计 ，1中奖，2输，3 和
	

	private double tuishui;//会员退水值
	private String peilv;  //会员赔率
	/**
	 * 结果 = 派彩 　- 下注  
	 *    = 中奖分 + 退水分 － 下注分
	 *    ＝ （下注分 * 中奖赔率） ＋ 退水分 － 下注分 
	 *    ＝ （下注分 * 中奖赔率） ＋ 下注分 * 退水值  － 下注分 
	 *    ＝  下注分 *（中奖赔率 ＋ 退水值 － １）
	 */
//	private double jieguo; //会员结果：本注单的输赢，   本字段 不需要存了，  结果 = 派彩 - 下注
	/**
	 * 派彩 = 中奖分 　＋　退水分 
	 *    = 下注分   * （中奖赔率　－ １ ＋　退水值）  
	 *    就是结算后要返还的分数，有时候中和的话，中奖分是0，退水分也是0（中和不算退水）， 
	 *    一般派彩是在流水中的，把中奖和退水一起加到会员余额上
	 */
//	private double paicai;//派彩，会员注单才有，是会员的本单返还金额，飞单来说也一样，代理下注也是派彩，只不过它没有加到代理余额，所以代理来说也算没有意义
	/**
	 * 退水分 ＝ 下注分 * 退水值
	 */
	private double ts_value;//退水值字段，下注时是填预退水，如果是结算好，就填真正的退水，大部分中和时退水分也是为0
	/**
	 * 中奖分　＝　下注分  * 中奖赔率 
	 */
	private double win;//会员中奖分 = 下注额 * 中奖赔率 

	
	private double percent0;
	private double tuishui0;
	private String peilv0;
	
	private double zc_shuying0;//占成输赢 = betScore * (winPeiLv - 1) * betPercent/100.0;
	private double zc_tuishui0;//占成退水 = betScore * betTuishui * betPercent/10000.0;
//	private double zc_jieguo0;//占成结果  =  betscore * (winPeiLv - tuishui)  * percent
	private double shuicha0;// 水差 = betScore * betShuicha * (100- downLevelTotalPercent)/10000.0;//水差为本级及以上所有占成的水差（我给下级后差额）
	private double beicha0;//倍差 = betScore * betBeicha * (100- downLevelTotalPercent)/100.0;//倍差，本级及以上所有的成数倍差（我给下级后差额）
	/**
	 * 本字段 是上面四个字段的和
	 * 本级代理结果 ＝占成输赢 ＋ 占成退水  ＋ 水差 ＋ 倍差
	 *         ＝占成部分的结果             ＋ 水差 ＋　倍差　
	 */
//	private double jieguo0;//结果 = zcShuying + zcTuishui + shuicha + beicha;
	
	

	private double percent1;
	private double tuishui1;
	private String peilv1;
	
	private double zc_shuying1;//占成输赢 = betScore * (winPeiLv - 1) * betPercent/100.0;
	private double zc_tuishui1;//占成退水 = betScore * betTuishui * betPercent/10000.0;
	private double shuicha1;// 水差 = betScore * betShuicha * (100- downLevelTotalPercent)/10000.0;//水差为本级及以上所有占成的水差（我给下级后差额）
	private double beicha1;//倍差 = betScore * betBeicha * (100- downLevelTotalPercent)/100.0;//倍差，本级及以上所有的成数倍差（我给下级后差额）
	
	private double percent2;
	private double tuishui2;
	private String peilv2;	
	private double zc_shuying2;//占成输赢 = betScore * (winPeiLv - 1) * betPercent/100.0;
	private double zc_tuishui2;//占成退水 = betScore * betTuishui * betPercent/10000.0;
	private double shuicha2;// 水差 = betScore * betShuicha * (100- downLevelTotalPercent)/10000.0;//水差为本级及以上所有占成的水差（我给下级后差额）
	private double beicha2;//倍差 = betScore * betBeicha * (100- downLevelTotalPercent)/100.0;//倍差，本级及以上所有的成数倍差（我给下级后差额）

	private double percent3;
	private double tuishui3;
	private String peilv3;	
	private double zc_shuying3;//占成输赢 = betScore * (winPeiLv - 1) * betPercent/100.0;
	private double zc_tuishui3;//占成退水 = betScore * betTuishui * betPercent/10000.0;
	private double shuicha3;// 水差 = betScore * betShuicha * (100- downLevelTotalPercent)/10000.0;//水差为本级及以上所有占成的水差（我给下级后差额）
	private double beicha3;//倍差 = betScore * betBeicha * (100- downLevelTotalPercent)/100.0;//倍差，本级及以上所有的成数倍差（我给下级后差额）

	private double percent4;
	private double tuishui4;
	private String peilv4;	
	private double zc_shuying4;//占成输赢 = betScore * (winPeiLv - 1) * betPercent/100.0;
	private double zc_tuishui4;//占成退水 = betScore * betTuishui * betPercent/10000.0;
	private double shuicha4;// 水差 = betScore * betShuicha * (100- downLevelTotalPercent)/10000.0;//水差为本级及以上所有占成的水差（我给下级后差额）
	private double beicha4;//倍差 = betScore * betBeicha * (100- downLevelTotalPercent)/100.0;//倍差，本级及以上所有的成数倍差（我给下级后差额）

	private double percent5;
	private double tuishui5;
	private String peilv5;	
	private double zc_shuying5;//占成输赢 = betScore * (winPeiLv - 1) * betPercent/100.0;
	private double zc_tuishui5;//占成退水 = betScore * betTuishui * betPercent/10000.0;
	private double shuicha5;// 水差 = betScore * betShuicha * (100- downLevelTotalPercent)/10000.0;//水差为本级及以上所有占成的水差（我给下级后差额）
	private double beicha5;//倍差 = betScore * betBeicha * (100- downLevelTotalPercent)/100.0;//倍差，本级及以上所有的成数倍差（我给下级后差额）
	
}
